﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.Logica.Clases;
using System.Text;

namespace vudu.PaginasWeb.G3Estudiante
{
    public partial class AgregarEstudiante : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
          string miRol = (string)Session["rol"];
          if (miRol != "Escuela")
                Response.Redirect("../G3AccesoSistema/InicioSistema.aspx");


            MigaActual.Text = "Inscribir Estudiante";
            Escuela escu = new Escuela();
            escu = (Escuela)Session["Usuario"];
            Usuario.Visible = true;
            Usuario.Text = escu.NombreEscuela;
            obligatorio1.Text = "";
            obligatorio2.Text = "";
            obligatorio3.Text = "";
            obligatorio4.Text = "";
            obligatorio5.Text = "";
            obligatorio6.Text = "";
            obligatorio7.Text = "";
            obligatorio8.Text = "";
            obligatorio1.Visible = false;
            obligatorio2.Visible = false;
            obligatorio3.Visible = false;
            obligatorio4.Visible = false;
            obligatorio5.Visible = false;
            obligatorio6.Visible = false;
            obligatorio7.Visible = false;
            obligatorio8.Visible = false;
            transaccionexitosa.Visible = true;
            transaccionfallida.Visible = false;
            Mensajedeestado.Visible = false;

        
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
         
            bool camposvacios = this.ValidarVacio();
            bool valcedula = this.ValidarCedula();
            bool valtelefono = this.ValidarTelefono();
            Estudiante est1 = new Estudiante();
            

            if ((camposvacios == true) && (valcedula == true) && (valtelefono == true))
            {
                Insertado();
            }
            else
            {// no se agrega por campos vacios o invalidos
                Mensajedeestado.Text = "Operación Fallida: El usuario NO se ha podido agregar";
                Mensajedeestado.CssClass = "transaccionFallida";
                Mensajedeestado.Visible = true;
            }

        }


        public void Insertado()
        {
                Escuela esc = new Escuela();
                esc = (Escuela)Session["Usuario"];
                int idescuela = esc.IdEscuela;
                Estudiante est = new Estudiante();
                est.Nombre = tbNombre.Text.ToString();
                est.Apellido = tbApellido.Text.ToString();
                est.Sexo = DropDownList1.Text.ToString();

                string ced = tbCedula.Text.ToString();
                int Cedula = int.Parse(ced);
                est.Cedula = Cedula;

                est.Expediente = tbExpediente.Text.ToString();
                string fecha = tbNacimiento.Text.ToString();
                DateTime Nacimiento = Convert.ToDateTime(fecha);
                est.FechaNacimiento = Nacimiento;
                est.Correo = tbCorreo.Text.ToString();
                est.Telefono = tbTelefono.Text.ToString();

                  int existente = est.ConsultarEstudianteExistente(Cedula);

                  if (existente != Cedula)
                  {
                      try
                      {
                          int idingresado = est.InsertarEstudiante(est);
                          string fechaac = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                          DateTime fechaactual = Convert.ToDateTime(fechaac);  
                          est.InsertarEstudianteEscuela(idingresado,idescuela,fechaactual);
                          Mensajedeestado.Text = "El estudiante se agregó con éxito";
                          Mensajedeestado.CssClass = "transaccionExitosa";
                          Mensajedeestado.Visible = true;
                        
                      }
                      catch (Exception)
                      {
                          Mensajedeestado.Text = "Operación Fallida: El usuario NO se ha podido agregar";
                          Mensajedeestado.CssClass = "transaccionFallida";
                          Mensajedeestado.Visible = true;
                      }
                  }
                  else {// no se agrega porque ya existe
                      Mensajedeestado.Text = "Operación Fallida: El usuario YA existe en el sistema";
                      Mensajedeestado.CssClass = "transaccionFallida";
                      Mensajedeestado.Visible = true;

                  }
        }


        public bool ValidarVacio() {

            int vali = 1;


            if (tbNombre.Text == "")     //Validar que el nombre no este vacio
            {
                obligatorio1.Text = "Debe Introducir un Nombre";
                obligatorio1.CssClass = "mensaje";
                obligatorio1.Visible = true;
                vali = 2;
            }
            if (tbApellido.Text == "")     //Validar que el apellido no este vacio
            {
                obligatorio2.Text = "Debe Introducir un Apellido";
                obligatorio2.CssClass = "mensaje";
                obligatorio2.Visible = true;
                vali = 2;
            }
            if (DropDownList1.Text == " ")     //Validar que el sexo no este vacio
            {
                obligatorio3.Text = "Debe Seleccionar el Sexo";
                obligatorio3.CssClass = "mensaje";
                obligatorio3.Visible = true;
                vali = 2;
            }
            if (tbCedula.Text == "")     //Validar que la cedula no este vacia
            {
                obligatorio4.Text = "Debe Introducir la Cedula";
                obligatorio4.CssClass = "mensaje";
                obligatorio4.Visible = true;
                vali = 2;
            }
            if (tbExpediente.Text == "")     //Validar que el expediente no este vacio
            {
                obligatorio5.Text = "Debe Introducir el Numero de Expediente";
                obligatorio5.CssClass = "mensaje";
                obligatorio5.Visible = true;
                vali = 2;
            }
            if (tbNacimiento.Text == "")     //Validar que la Fecha de nacimiento no este vacia
            {
                obligatorio6.Text = "Debe Introducir la Fecha de Nacimiento";
                obligatorio6.CssClass = "mensaje";
                obligatorio6.Visible = true;
                vali = 2;
            }
            if (tbCorreo.Text == "")     //Validar que el Correo no este vacio
            {
                obligatorio7.Text = "Debe Introducir un Correo Electronico";
                obligatorio7.CssClass = "mensaje";
                obligatorio7.Visible = true;
                vali = 2;
            }
            if (tbTelefono.Text == "")     //Validar que el Telefono no este vacio
            {
                obligatorio8.Text = "Debe Introducir un Numero de Telefono";
                obligatorio8.CssClass = "mensaje";
                obligatorio8.Visible = true;
                vali = 2;
            }

            if (vali == 2)
            {
                return false;
            }
            else {
                return true;
            }
        }

        public bool ValidarCedula() {
            try                         //Validar que coloquen solo numeros en la cedula
            {
                string ced = tbCedula.Text.ToString();
                int Cedula = int.Parse(ced);
                return true;

            }
            catch (Exception ex)
            {
                obligatorio4.Text = "Datos Incorrectos";
                obligatorio4.CssClass = "mensaje";
                obligatorio4.Visible = true;
                return false;

            }
        
        }

        public bool ValidarTelefono() {
            try                          //Validar que el Telefono sea un numero
            {
                string probartelefono = tbTelefono.Text.ToString();
                long probtele = long.Parse(probartelefono);
                return true;
            }
            catch (Exception ex)
            {
                obligatorio8.Text = "Datos Incorrectos";
                obligatorio8.CssClass = "mensaje";
                obligatorio8.Visible = true;
                return false;

            }
        }

        protected void Button2_Click1(object sender, EventArgs e)
        {
            Response.Redirect("../Home/HomeEscuela.aspx");
        }


    }
}